<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!--

    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->




<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">
    <f:view>
        <f:metadata>
            <f:viewParam name="param1" value="#{viewScope['param1']}"/>
            <f:viewParam name="param2" value="#{viewScope['param2']}"/>
        </f:metadata>
        <h:head>
            <title>Test multiple view parameters.</title>
        </h:head>
        <h:body>
            <h:panelGrid columns="1">
                <h:panelGroup>
                    <h:form id="form">
                        <h:outputText value="Param1:=#{param['param1']};"/>
                        <br/>
                        <h:outputText value="Param2:=#{param['param2']};"/>
                        <br/>
                        <h:outputText value="viewScope-param1:=#{viewScope['param1']};"/>
                        <br/>
                        <h:outputText value="viewScope-param2:=#{viewScope['param2']};"/>
                        <br/>
                        <br/>
                        <h:commandLink
                            id="set1"
                            value="SET param1"
                            rendered="#{not 'value'.equals(viewScope['param1'])}">
                            <f:param name="param1" value="value"/>
                            <f:ajax execute="@form" render="@form"/>
                        </h:commandLink>
                        <h:commandLink
                            value="UNSET param1"
                            rendered="#{'value'.equals(viewScope['param1'])}">
                            <f:param name="param1" value=""/>
                            <f:ajax execute="@form" render="@form"/>
                        </h:commandLink>
                        <br/>
                        <br/>
                        <h:commandLink
                            id="set2"
                            value="SET param2"
                            rendered="#{not 'value'.equals(viewScope['param2'])}">
                            <f:param name="param2" value="value"/>
                            <f:ajax execute="@form" render="@form"/>
                        </h:commandLink>
                        <h:commandLink
                            value="UNSET param2"
                            rendered="#{'value'.equals(viewScope['param2'])}">
                            <f:param name="param2" value=""/>
                            <f:ajax execute="@form" render="@form"/>
                        </h:commandLink>
                        <br/>
                        <br/>
                        <h:commandButton id="postback" value="POSTBACK"/>
                        <br/>
                        <h:link id="link" value="LINK with ViewParams" includeViewParams="true" outcome="#{view.viewId}"/>
                        <br/>

                        <h:link value="LINK without ViewParams" includeViewParams="false" outcome="#{view.viewId}"/>
                        <br/>
                    </h:form>
                </h:panelGroup>
            </h:panelGrid>
        </h:body>
    </f:view>
</html>
